package com.totoro.author.exception;

import org.springframework.web.bind.annotation.ControllerAdvice ;
import org.springframework.web.bind.annotation.ExceptionHandler ;
import org.springframework.web.bind.annotation.ResponseBody ;

import com.totoro.author.result.NoAuthorResult ;

/**
 * 全局异常处理
 * @ControllerAdvice 注解是Controller注解的一个辅助类，通常作为全局异常的切面类
 * @ControllerAdvice 定义了几种可行的返回值：
 * String：返回页面
 * Model：返回json
 * ModelAndView
 * @author 80002165 @date 2017年8月2日 上午8:43:41
 */
@ControllerAdvice
public class GlobalExceptionHandler {
    
    /**
     * 访问页面没有权限的全局异常处理
     * @author 80002165 @date 2017年8月2日 上午8:56:43
     * @return
     */
    @ExceptionHandler(NoAuthorToPageException.class)
    public String noAuthorToPageException(){
        return "noAuthor" ;
    }
    
    /**
     * 访问json接口没有权限全局异常处理
     * @author 80002165 @date 2017年8月2日 上午8:57:41
     * @return
     */
    @ExceptionHandler(NoAuthorToJsonException.class)
    @ResponseBody
    public NoAuthorResult noAuthorToJsonException(){
        return new NoAuthorResult("您没有操作权限！") ;
    }
}
